import tcb from 'tcb-js-sdk'

/**
 * 获取从返回的数据中剥离出需要的数据。
 * @param result
 */
export const getReqData = (result) => {
  return result.status * 1 === 200 && result.data.status * 1 === 0
    ? result.data.data
    : false
}
/**
 * 清除两头的空格
 * @param str
 * @return {void | string | *}
 */
export const clearTwoSpace = (str) => str.replace(/^\s*|\s*$/g, '')
/**
 * 跳转到哈西路由，只能这样传递参数
 * 因为使用了 redux-persist ，那么没有传递参数到哈西路由，仍然会去读取
 * 持久化参数。
 * 如果没有参数，那么data就不用填写了。
 * @param that
 * @param url
 * @param data 这里的默认值必须是null，如果是undefined会报错。
 */
export const linkToHashRouteWithParams = (that, url, data = null) => {
  that.props.setHashRouteParams(data)
  that.props.history.push(url)
}
/**
 * 这里是获取云函数的实例
 */
export const getApp = () => {
  const app = getAppWithoutAuth()
  app.auth()
  // console.log('检查 getApp');
  return app
}
/**
 * 这个一般用来做“云接入”
 * @return {TCB}
 */
export const getAppWithoutAuth = () => {
  return tcb.init({ env: process.env.REACT_APP_CLOUD_ENV })
}
